<html>
<head><meta charset="utf-8"><title>interning links · t-compiler/wg-mir-opt · Zulip Chat Archive</title></head>
<h2>Stream: <a href="https://rust-lang.github.io/zulip_archive/stream/189540-t-compiler/wg-mir-opt/index.html">t-compiler/wg-mir-opt</a></h2>
<h3>Topic: <a href="https://rust-lang.github.io/zulip_archive/stream/189540-t-compiler/wg-mir-opt/topic/interning.20links.html">interning links</a></h3>

<hr>

<base href="https://rust-lang.zulipchat.com">

<head><link href="https://rust-lang.github.io/zulip_archive/style.css" rel="stylesheet"></head>

<a name="176965238"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/189540-t-compiler/wg-mir-opt/topic/interning%20links/near/176965238" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/189540-t-compiler/wg-mir-opt/topic/interning.20links.html#176965238">(Sep 30 2019 at 19:28)</a>:</h4>
<p>So <span class="user-mention" data-user-id="116266">@Santiago Pastorino</span> you were asking about interning</p>



<a name="176965427"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/189540-t-compiler/wg-mir-opt/topic/interning%20links/near/176965427" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/189540-t-compiler/wg-mir-opt/topic/interning.20links.html#176965427">(Sep 30 2019 at 19:30)</a>:</h4>
<p>I don't see anything in the rustc-guide</p>



<a name="176965444"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/189540-t-compiler/wg-mir-opt/topic/interning%20links/near/176965444" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/189540-t-compiler/wg-mir-opt/topic/interning.20links.html#176965444">(Sep 30 2019 at 19:30)</a>:</h4>
<p>what I usually do when I want to remember how this works, though,</p>



<a name="176965453"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/189540-t-compiler/wg-mir-opt/topic/interning%20links/near/176965453" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/189540-t-compiler/wg-mir-opt/topic/interning.20links.html#176965453">(Sep 30 2019 at 19:30)</a>:</h4>
<p>is to start by digging around in one of the <code>intern</code> methods...</p>



<a name="176965503"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/189540-t-compiler/wg-mir-opt/topic/interning%20links/near/176965503" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/189540-t-compiler/wg-mir-opt/topic/interning.20links.html#176965503">(Sep 30 2019 at 19:31)</a>:</h4>
<p>but they have subtle differences</p>



<a name="176965515"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/189540-t-compiler/wg-mir-opt/topic/interning%20links/near/176965515" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/189540-t-compiler/wg-mir-opt/topic/interning.20links.html#176965515">(Sep 30 2019 at 19:31)</a>:</h4>
<p>e.g., <a href="https://github.com/rust-lang/rust/blob/22bc9e1d9ca49ee4f5cd953088ab09c238a6dd26/src/librustc/ty/context.rs#L1082" target="_blank" title="https://github.com/rust-lang/rust/blob/22bc9e1d9ca49ee4f5cd953088ab09c238a6dd26/src/librustc/ty/context.rs#L1082"><code>intern_promoted</code></a> simply allocates from an arena</p>



<a name="176965523"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/189540-t-compiler/wg-mir-opt/topic/interning%20links/near/176965523" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/189540-t-compiler/wg-mir-opt/topic/interning.20links.html#176965523">(Sep 30 2019 at 19:31)</a>:</h4>
<p>it's a good one to look at, but not <em>quite</em> what you want</p>



<a name="176965581"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/189540-t-compiler/wg-mir-opt/topic/interning%20links/near/176965581" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/189540-t-compiler/wg-mir-opt/topic/interning.20links.html#176965581">(Sep 30 2019 at 19:32)</a>:</h4>
<p>still, there you can see the <code>self.arena</code> access, looking at (I think) <a href="https://github.com/rust-lang/rust/blob/22bc9e1d9ca49ee4f5cd953088ab09c238a6dd26/src/librustc/ty/context.rs#L988" target="_blank" title="https://github.com/rust-lang/rust/blob/22bc9e1d9ca49ee4f5cd953088ab09c238a6dd26/src/librustc/ty/context.rs#L988">this field</a></p>



<a name="176965592"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/189540-t-compiler/wg-mir-opt/topic/interning%20links/near/176965592" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Wesley Wiser <a href="https://rust-lang.github.io/zulip_archive/stream/189540-t-compiler/wg-mir-opt/topic/interning.20links.html#176965592">(Sep 30 2019 at 19:32)</a>:</h4>
<p>(I had to add interning stuff in a recent PR. <a href="https://github.com/rust-lang/rust/pull/63580/commits/73814654b29604ded9dff105e4156639980d2f2c" target="_blank" title="https://github.com/rust-lang/rust/pull/63580/commits/73814654b29604ded9dff105e4156639980d2f2c">This commit</a> is where that happens if that's helpful. <code>src/librustc/ty/context.rs </code> is the main bit.)</p>



<a name="176965668"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/189540-t-compiler/wg-mir-opt/topic/interning%20links/near/176965668" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/189540-t-compiler/wg-mir-opt/topic/interning.20links.html#176965668">(Sep 30 2019 at 19:33)</a>:</h4>
<p>In your case though <span class="user-mention" data-user-id="116266">@Santiago Pastorino</span> you want to create a <code>List</code></p>



<a name="176965674"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/189540-t-compiler/wg-mir-opt/topic/interning%20links/near/176965674" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/189540-t-compiler/wg-mir-opt/topic/interning.20links.html#176965674">(Sep 30 2019 at 19:33)</a>:</h4>
<p>this is a rather special type</p>



<a name="176965742"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/189540-t-compiler/wg-mir-opt/topic/interning%20links/near/176965742" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/189540-t-compiler/wg-mir-opt/topic/interning.20links.html#176965742">(Sep 30 2019 at 19:34)</a>:</h4>
<p>yeah, so it's not possible to subslice</p>



<a name="176965753"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/189540-t-compiler/wg-mir-opt/topic/interning%20links/near/176965753" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/189540-t-compiler/wg-mir-opt/topic/interning.20links.html#176965753">(Sep 30 2019 at 19:34)</a>:</h4>
<p>I think this is a relevant example</p>



<a name="176965794"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/189540-t-compiler/wg-mir-opt/topic/interning%20links/near/176965794" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/189540-t-compiler/wg-mir-opt/topic/interning.20links.html#176965794">(Sep 30 2019 at 19:34)</a>:</h4>
<p>the <a href="https://github.com/rust-lang/rust/blob/22bc9e1d9ca49ee4f5cd953088ab09c238a6dd26/src/librustc/ty/context.rs#L2217-L2225" target="_blank" title="https://github.com/rust-lang/rust/blob/22bc9e1d9ca49ee4f5cd953088ab09c238a6dd26/src/librustc/ty/context.rs#L2217-L2225"><code>slice_interners!</code></a> macro usage</p>



<a name="176965842"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/189540-t-compiler/wg-mir-opt/topic/interning%20links/near/176965842" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/189540-t-compiler/wg-mir-opt/topic/interning.20links.html#176965842">(Sep 30 2019 at 19:35)</a>:</h4>
<p>that macro is creating methods like <code>_intern_predicates</code></p>



<a name="176965856"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/189540-t-compiler/wg-mir-opt/topic/interning%20links/near/176965856" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/189540-t-compiler/wg-mir-opt/topic/interning.20links.html#176965856">(Sep 30 2019 at 19:35)</a>:</h4>
<p>this...seems kind of dumb</p>



<a name="176965870"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/189540-t-compiler/wg-mir-opt/topic/interning%20links/near/176965870" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/189540-t-compiler/wg-mir-opt/topic/interning.20links.html#176965870">(Sep 30 2019 at 19:35)</a>:</h4>
<p>in that there are pretty identical wrappers for each of those cases</p>



<a name="176965929"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/189540-t-compiler/wg-mir-opt/topic/interning%20links/near/176965929" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/189540-t-compiler/wg-mir-opt/topic/interning.20links.html#176965929">(Sep 30 2019 at 19:36)</a>:</h4>
<p>like <a href="https://github.com/rust-lang/rust/blob/22bc9e1d9ca49ee4f5cd953088ab09c238a6dd26/src/librustc/ty/context.rs#L2587-L2598" target="_blank" title="https://github.com/rust-lang/rust/blob/22bc9e1d9ca49ee4f5cd953088ab09c238a6dd26/src/librustc/ty/context.rs#L2587-L2598"><code>intern_predicates</code></a></p>



<a name="176965937"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/189540-t-compiler/wg-mir-opt/topic/interning%20links/near/176965937" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/189540-t-compiler/wg-mir-opt/topic/interning.20links.html#176965937">(Sep 30 2019 at 19:36)</a>:</h4>
<p>that just check for an empty slice and then fall through</p>



<a name="176965946"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/189540-t-compiler/wg-mir-opt/topic/interning%20links/near/176965946" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/189540-t-compiler/wg-mir-opt/topic/interning.20links.html#176965946">(Sep 30 2019 at 19:36)</a>:</h4>
<p>so we could <em>probably</em> generate those too</p>



<a name="176965952"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/189540-t-compiler/wg-mir-opt/topic/interning%20links/near/176965952" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/189540-t-compiler/wg-mir-opt/topic/interning.20links.html#176965952">(Sep 30 2019 at 19:36)</a>:</h4>
<p>(but maybe there are some cases that work differently, not sure)</p>



<a name="176965964"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/189540-t-compiler/wg-mir-opt/topic/interning%20links/near/176965964" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/189540-t-compiler/wg-mir-opt/topic/interning.20links.html#176965964">(Sep 30 2019 at 19:36)</a>:</h4>
<p>anyway, I guess that's the model you want to follow</p>



<a name="176966012"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/189540-t-compiler/wg-mir-opt/topic/interning%20links/near/176966012" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/189540-t-compiler/wg-mir-opt/topic/interning.20links.html#176966012">(Sep 30 2019 at 19:37)</a>:</h4>
<p>(and maybe try to cleanup the code duplication for the zero-length case, too...)</p>



<a name="176966028"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/189540-t-compiler/wg-mir-opt/topic/interning%20links/near/176966028" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/189540-t-compiler/wg-mir-opt/topic/interning.20links.html#176966028">(Sep 30 2019 at 19:37)</a>:</h4>
<p>cool, thanks</p>



<a name="176966060"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/189540-t-compiler/wg-mir-opt/topic/interning%20links/near/176966060" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/189540-t-compiler/wg-mir-opt/topic/interning.20links.html#176966060">(Sep 30 2019 at 19:37)</a>:</h4>
<p>I'm finishing a thing related to the PR I've opened and going after this thing next, probably tomorrow</p>



<a name="177728466"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/189540-t-compiler/wg-mir-opt/topic/interning%20links/near/177728466" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/189540-t-compiler/wg-mir-opt/topic/interning.20links.html#177728466">(Oct 09 2019 at 15:59)</a>:</h4>
<p><span class="user-mention" data-user-id="116009">@nikomatsakis</span> was going after this but I'm getting ....</p>



<a name="177728579"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/189540-t-compiler/wg-mir-opt/topic/interning%20links/near/177728579" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/189540-t-compiler/wg-mir-opt/topic/interning.20links.html#177728579">(Oct 09 2019 at 16:00)</a>:</h4>
<p>this means ... the actual interning code, using <code>slice_interners!</code> macro</p>



<a name="177728589"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/189540-t-compiler/wg-mir-opt/topic/interning%20links/near/177728589" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/189540-t-compiler/wg-mir-opt/topic/interning.20links.html#177728589">(Oct 09 2019 at 16:00)</a>:</h4>
<p>getting ...</p>



<a name="177728598"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/189540-t-compiler/wg-mir-opt/topic/interning%20links/near/177728598" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/189540-t-compiler/wg-mir-opt/topic/interning.20links.html#177728598">(Oct 09 2019 at 16:00)</a>:</h4>
<div class="codehilite"><pre><span></span>error[E0277]: the trait bound `mir::ProjectionElem&lt;mir::Local, &amp;ty::TyS&lt;&#39;_&gt;&gt;: std::marker::Copy` is not satisfied
    --&gt; src/librustc/ty/context.rs:2252:30
     |
2247 | / macro_rules! slice_interners {
2248 | |     ($($field:ident: $method:ident($ty:ty)),+) =&gt; (
2249 | |         $(impl&lt;&#39;tcx&gt; TyCtxt&lt;&#39;tcx&gt; {
2250 | |             pub fn $method(self, v: &amp;[$ty]) -&gt; &amp;&#39;tcx List&lt;$ty&gt; {
2251 | |                 self.interners.$field.intern_ref(v, || {
2252 | |                     Interned(List::from_arena(&amp;self.interners.arena, v))
     | |                              ^^^^^^^^^^^^^^^^ the trait `std::marker::Copy` is not implemented for `mir::ProjectionElem&lt;mir::Local, &amp;ty::TyS&lt;&#39;_&gt;&gt;`
...    |
2256 | |     );
2257 | | }
     | |_- in this expansion of `slice_interners!`
2258 |
2259 | / slice_interners!(
2260 | |     type_list: _intern_type_list(Ty&lt;&#39;tcx&gt;),
2261 | |     substs: _intern_substs(GenericArg&lt;&#39;tcx&gt;),
2262 | |     canonical_var_infos: _intern_canonical_var_infos(CanonicalVarInfo),
...    |
2268 | |     place_elems: _intern_place_elems(PlaceElem&lt;&#39;tcx&gt;)
2269 | | );
     | |__- in this macro invocation
     |
    ::: src/librustc/ty/mod.rs:625:5
     |
625  |       fn from_arena&lt;&#39;tcx&gt;(arena: &amp;&#39;tcx SyncDroplessArena, slice: &amp;[T]) -&gt; &amp;&#39;tcx List&lt;T&gt; {
     |       --------------------------------------------------------------------------------- required by `ty::List::&lt;T&gt;::from_arena`
     |
     = help: the following implementations were found:
               &lt;mir::ProjectionElem&lt;(), ()&gt; as std::marker::Copy&gt;

error: aborting due to previous error

For more information about this error, try `rustc --explain E0277`.
error: could not compile `rustc`.
</pre></div>



<a name="177728820"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/189540-t-compiler/wg-mir-opt/topic/interning%20links/near/177728820" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/189540-t-compiler/wg-mir-opt/topic/interning.20links.html#177728820">(Oct 09 2019 at 16:02)</a>:</h4>
<p>why does that need to be <code>Copy</code>?</p>



<a name="177728834"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/189540-t-compiler/wg-mir-opt/topic/interning%20links/near/177728834" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/189540-t-compiler/wg-mir-opt/topic/interning.20links.html#177728834">(Oct 09 2019 at 16:02)</a>:</h4>
<p>what can we do in the case of projection then?</p>



<a name="177730748"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/189540-t-compiler/wg-mir-opt/topic/interning%20links/near/177730748" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/189540-t-compiler/wg-mir-opt/topic/interning.20links.html#177730748">(Oct 09 2019 at 16:23)</a>:</h4>
<p>I see, <code>ProjectionElem</code> could be <code>Copy</code> but it's generic and we are not imposing those generics be <code>Copy</code></p>



<a name="177730783"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/189540-t-compiler/wg-mir-opt/topic/interning%20links/near/177730783" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/189540-t-compiler/wg-mir-opt/topic/interning.20links.html#177730783">(Oct 09 2019 at 16:23)</a>:</h4>
<p>but <code>PlaceElem</code> can be <code>Copy</code> and I think it's reasonable to do so</p>



<a name="177731011"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/189540-t-compiler/wg-mir-opt/topic/interning%20links/near/177731011" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/189540-t-compiler/wg-mir-opt/topic/interning.20links.html#177731011">(Oct 09 2019 at 16:26)</a>:</h4>
<p><a href="https://github.com/rust-lang/rust/pull/65197/commits/04e491aee1f78e1ed8be5a76c320b3b52fabd281" target="_blank" title="https://github.com/rust-lang/rust/pull/65197/commits/04e491aee1f78e1ed8be5a76c320b3b52fabd281">https://github.com/rust-lang/rust/pull/65197/commits/04e491aee1f78e1ed8be5a76c320b3b52fabd281</a></p>



<hr><p>Last updated: Aug 07 2021 at 22:04 UTC</p>
</html>